SEGMENTATION DES CLIENTS D' UN e-COMMERCE:

Modèle K-Means

Sommaire :

Introduction

Segmentation K-means: variables RFM

Segmentation Dbscan: variables RFM

Segmentation K-means: variables RFM + satisfaction

Segmentation K-means: variables RFM + satisfaction + comportements clients

Segmentation K-means après réduction de dimensions

Introduction

1) Problématique

Dans ce Notebook, je propose d' appliquer les algorithmes K-means et DBscan pour effectuer notre segmentation. Nous pourrons ainsi comparer nos résultats et choisir la solution la mieux adaptée à notre problématique.

2) Import des fichiers et bibliothèques

Définitions de fonctions d'affichage graphique

Lecture du fichier

Segmentation K-means: variables RFM

1) Réduction du dataset

2) Préprocessing

Traitement des outliers

3) Algorithme K-means

Détermination du nombre optimal de clusters

distorsion_visualizer = make_pipeline(RobustScaler(), KElbowVisualizer(KMeans(n_init=10,random_state=42), k=(2,12))) distorsion_visualizer.fit(X) # Fit the data to the visualizer distorsion_visualizer.named_steps['kelbowvisualizer'].show()

Calinski harabasz score

En observant les courbes du distorsion score et du silhouette score on en déduit que la segmentation Kmean de notre dataset réduit aux variables rfm est optimale avec 4 clusters. Essayons un autre algorithme de clustering.

Segmentation Dbscan

1) Préprocessing

2) Algorithme DBscan

La segmentation avec DBscan n'est pas satisfaisante. En effet, pour obtenir un nombre de clusters exploitable on engendre un bruit important.

Segmentation k_means: variables RFM + satisfaction

1) Réduction du dataset

2) Préprocessing

3) Algorithme K-means

Détermination du nombre optimal de clusters

La courbe du silhouette score mets en évidence un "coude" à 4 ou 5 clusters. Poussons notre analyse avec des courbes supplémentaires.

Les clusters sont mieux répartis dans la configuration à quatre groupes.

Analyse des différents clusters

La segmentation est plus performante avec 4 Clusters

Segmentation k_means: variables RFM + satisfaction+ comportement clients

1) Réduction du dataset

2) Préprocessing

3) Algorithme K-means

La courbe du distorsion score est plus significative nous choisirons donc une segmentation avec 4 clusters.

On remarque que les différents clusters sont bien distincts sur les 2 premières composantes . Le clustering semble donc performant et il faut a présent donner une interprétation métier de chaque cluster.

4) Analyse des différents clusters

Nous allons maintenant entrainer notre KMeans avec le K optimal sélectionné et affecter son cluster à chaque client. Ainsi, nous pourrons analyser les différences entre chaque cluster :

5) Interprétation métier des clusters

Nous allons à présent réaliser une réduction dimensionnelle pour vérifier si le clustering est réalisable sur un nombre réduit de variables sans perturber les groupes

Segmentation K-means avec réduction de dimensions

On peut voir les variables qui contribuent le plus à chaque axe. Par exemple:

Nous allons donc intégrer à notre pipeline Kmeans une PCA sur 5 composantes pour vérifier si la réduction dimensionnelle réduit la qualité de la segmentation

Interprétation métier des clusters

Conclusion

Nous avons segmenté notre dataset clients en utilisant les algorithmes K-Means et DBSCAN, les resultats tournent autour de 4 à 5 clusters, mais le plus probant est le modele K-Means qui donne des clusters bien définis et distincts. Par ailleurs, La réduction de dimension ne perturbe pas la segmentation, permet de réduire le nombre de variables mais n'améliore pas le silhouette-score. Quelques pistes d'amélioration: